﻿using System;
namespace Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister {
    
    
    public partial class Soidukiandmed2Vastus : global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2Vastus {
        
        private decimal @__kood;
        
        private string @__teade;
        
        private Soidukiandmed2Vastus.ISoidukidType @__soidukid;
        
        public Soidukiandmed2Vastus() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Soidukiandmed2Vastus(decimal @kood, string @teade, Soidukiandmed2Vastus.ISoidukidType @soidukid) {
            this.@__kood = @kood;
            this.@__teade = @teade;
            this.@__soidukid = @soidukid;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public Soidukiandmed2Vastus(decimal @kood) {
            this.@__kood = @kood;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Soidukiandmed2Vastus(ISoidukiandmed2Vastus @soidukiandmed2Vastus) {
            this.@__kood = @soidukiandmed2Vastus.Kood;
            this.@__teade = @soidukiandmed2Vastus.Teade;
            this.@__soidukid = @soidukiandmed2Vastus.Soidukid;
        }
        
        public virtual decimal Kood {
            get {
                return this.@__kood;
            }
            set {
                this.@__kood = value;
            }
        }
        
        public virtual string Teade {
            get {
                return this.@__teade;
            }
            set {
                this.@__teade = value;
            }
        }
        
        public virtual Soidukiandmed2Vastus.ISoidukidType Soidukid {
            get {
                return this.@__soidukid;
            }
            set {
                this.@__soidukid = value;
            }
        }
        
        public partial class SoidukidType : ISoidukidType {
            
            private System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2tulem> @__soiduk = new System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2tulem>();
            
            public SoidukidType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public SoidukidType(System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2tulem> @soiduk) {
                this.@__soiduk = @soiduk;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected SoidukidType(ISoidukidType @soidukidType) {
                this.@__soiduk = @soidukidType.Soiduk;
            }
            
            public virtual System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2tulem> Soiduk {
                get {
                    return this.@__soiduk;
                }
                set {
                    this.@__soiduk = value;
                }
            }
        }
        
        public interface ISoidukidType {
            
            System.Collections.Generic.List<global::Producers.Liiklusregister.Xtee.Riik.Ee.Producer.Liiklusregister.ISoidukiandmed2tulem> Soiduk {
                get;
                set;
            }
        }
    }
}
